<template>
  <div class="hospital">
    <!-- 左侧导航区 -->
    <div class="menu">
      <div class="top">
        <el-icon><HomeFilled /></el-icon>
        <span>/ 医院信息</span>
      </div>
      <el-menu :default-active="$route.path" @select="changeActive" class="el-menu-vertical-demo">
        <el-menu-item index="/hospital/register">
          <el-icon><icon-menu /></el-icon>
          <span>预约挂号</span>
        </el-menu-item>
        <el-menu-item index="/hospital/detail">
          <el-icon><document /></el-icon>
          <span>医院详情</span>
        </el-menu-item>
        <el-menu-item index="/hospital/notice">
          <el-icon><setting /></el-icon>
          <span>预约通知</span>
        </el-menu-item>
        <el-menu-item index="/hospital/close">
          <el-icon><InfoFilled /></el-icon>
          <span>停诊信息</span>
        </el-menu-item>
        <el-menu-item index="/hospital/search">
          <el-icon><Search /></el-icon>
          <span>查询/取消</span>
        </el-menu-item>
      </el-menu>
    </div>
    <!-- 右侧内容展示区域：路由组件展示位置 -->
    <div class="content">
      <!-- 子组件展示结构地方 -->
      <router-view></router-view>
    </div>
  </div>
</template>

<script setup lang="ts">
import {onMounted} from 'vue'
import useDetailStore from '../../store/modules/hospitalDetail'
// 获取仓库对象
let detailStore = useDetailStore();
import {
  Document,
  Menu as IconMenu,
  InfoFilled,
  Setting,
  Search,
  HomeFilled
} from '@element-plus/icons-vue'
import { useRoute,useRouter } from 'vue-router';
// 获取当前路由信息
let $route = useRoute()
let $router = useRouter()
// 组件挂载完毕：通知pin ia仓库发请求获取医院详情的数据，存储仓库当中
onMounted(()=>{
  // 获取医院详情的数据
  detailStore.getHospital($route.query.hoscode as string)
  // 获取某一个医院科室的数据
  detailStore.getDeparment($route.query.hoscode as string)
})
const changeActive = (index:string)=>{
  $router.push({path:index,query:{hoscode:$route.query.hoscode}})
}
</script>

<style scoped lang="scss">
.hospital{
  display: flex;
  .menu{
    flex:2;
    display: flex;
    flex-direction: column;
    // align-items: center;
    .top{
      color: #7f7f7f;
      display: flex;
      padding-left: 30px;
      span{
        margin-left: 5px;
      }
    }
  }
  .content{
    flex:8
  }
}
</style>